package com.sky.utils;

import org.springframework.data.redis.core.RedisTemplate;

import java.util.Set;

/**
 * 缓存工具类
 */
public class CacheUtils {
    //清空缓存
    //思考：为什么清空缓存
    //原因：每一次新增删除操作都会引起数据库的变化 但是缓存它不是随着数据库的变化而变化
    //为了保证数据的一致性 所以要清空缓存
    //无差别清空
    public static void cleanDishCacheAll(RedisTemplate redisTemplate, String pattern){
        Set keys = redisTemplate.keys(pattern);
        redisTemplate.delete(keys);
    }
    //精准清空
    public static void cleanDishCacheByCategoryId(RedisTemplate redisTemplate,Long CategoryId){
        String pattern = "dish_"+CategoryId;
        Set keys = redisTemplate.keys(pattern);
        redisTemplate.delete(keys);
    }
}
